fclose all;clear;clc;
%% 数据预备
txtin=fopen('222.txt','r');%源文件
tmp_txtout=fopen('mid_temp.txt','w');%新文件，用于写入不含空行的数据
save_title_flag = 1;
new_parg_flag = 0;
count_flag = 0;
name_flag = 1;
directory = 'F:\Documents\CST\frontier in physics\MATLAB CODE\txt\';
%% 开始读取
while ~feof(txtin) %判断是否为文件末尾
    tline=fgetl(txtin);%读取一行
    %% # 行处理
    if tline(1)=='#' %是否为#开头
        count_flag = count_flag+1;
        fprintf(tmp_txtout,'%s\n',tline); % 写入文档
        if count_flag ==3
            count_flag = 0;
            new_parg_flag = 1;
            tmp=strcat(directory,num2str(name_flag),'.txt');%保存文件时连续命名
            txtout=fopen(tmp,'w');%新文件，用于写入不含空行的数据
            name_flag = name_flag+1;
        end
     %% 数据行处理
    else     
        if new_parg_flag
             new_parg_flag = 0;
            if save_title_flag
                fclose(tmp_txtout);
                tmp_txtout=fopen('mid_temp.txt','r');
                while ~feof(tmp_txtout)
                    tmp_tline = fgetl(tmp_txtout);
                    fprintf(txtout,'%s\n',tmp_tline);
                end
                fclose(tmp_txtout);
                tmp_txtout=fopen('mid_temp.txt','w');
            end
        end
        fprintf(txtout,'%s\n',tline);
    end
end

